Fork me on GitHub
杨小慧的博客

《剑指offer》JavaScript版——(3)从尾到头打印链表

题目:输入一个链表,从尾到头打印链表每个节点的值。

基础知识点:
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

思路:
定义一个数组,将链表的节点依次从头部unshift进数组,将数组输出。

1
2
3
4
5
6
7
8
9
10
11
12
13
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function printListFromTailToHead(head) {
var arr = [];
if(!head) return false;
while(head) {
arr.unshift(head.val);
head = head.next;
}
return arr;
}
------本文结束感谢阅读------